]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/menu/xonotic/keybinder.c
Merge branch 'master' of git://de.git.xonotic.org/xonotic/xonotic-data.pk3dir
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / keybinder.c
index f4a6c5a3e3dc40adbefdaf5d4eb1f7a75b94be4a..1107e60abc6b3296e77dd9582bbe6613a267ef32 100644 (file)
@@ -70,6 +70,17 @@ entity makeXonoticKeyBinder()
        me.configureXonoticKeyBinder(me);
        return me;
 }
+void replace_bind(string from, string to)
+{
+       float n, j, k;
+       n = tokenize(findkeysforcommand(from, 0)); // uses '...' strings
+       for(j = 0; j < n; ++j)
+       {
+               k = stof(argv(j));
+               if(k != -1)
+                       localcmd("\nbind \"", keynumtostring(k), "\" \"", to, "\"\n");
+       }
+}
 void XonoticKeyBinder_configureXonoticKeyBinder(entity me)
 {
        me.configureXonoticListBox(me);
@@ -77,6 +88,18 @@ void XonoticKeyBinder_configureXonoticKeyBinder(entity me)
                Xonotic_KeyBinds_Read();
        me.nItems = Xonotic_KeyBinds_Count;
        me.setSelected(me, 0);
+
+       // TEMP: Xonotic 0.1 to later
+       replace_bind("impulse 1", "weapon_group_1");
+       replace_bind("impulse 2", "weapon_group_2");
+       replace_bind("impulse 3", "weapon_group_3");
+       replace_bind("impulse 4", "weapon_group_4");
+       replace_bind("impulse 5", "weapon_group_5");
+       replace_bind("impulse 6", "weapon_group_6");
+       replace_bind("impulse 7", "weapon_group_7");
+       replace_bind("impulse 8", "weapon_group_8");
+       replace_bind("impulse 9", "weapon_group_9");
+       replace_bind("impulse 14", "weapon_group_0");
 }
 void XonoticKeyBinder_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
 {
@@ -118,7 +141,7 @@ void XonoticKeyBinder_keyGrabbed(entity me, float key, float ascii)
        if(func == "")
                return;
 
-       n = tokenize(findkeysforcommand(func)); // uses '...' strings
+       n = tokenize(findkeysforcommand(func, 0)); // uses '...' strings
        nvalid = 0;
        for(j = 0; j < n; ++j)
        {
@@ -190,7 +213,7 @@ void KeyBinder_Bind_Clear(entity btn, entity me)
        if(func == "")
                return;
 
-       n = tokenize(findkeysforcommand(func)); // uses '...' strings
+       n = tokenize(findkeysforcommand(func, 0)); // uses '...' strings
        for(j = 0; j < n; ++j)
        {
                k = stof(argv(j));
@@ -308,7 +331,7 @@ void XonoticKeyBinder_drawListBoxItem(entity me, float i, vector absSize, float
        draw_Text(me.realUpperMargin * eY + extraMargin * eX, s, me.realFontSize, theColor, theAlpha, 0);
        if(func != "")
        {
-               n = tokenize(findkeysforcommand(func)); // uses '...' strings
+               n = tokenize(findkeysforcommand(func, 0)); // uses '...' strings
                s = "";
                for(j = 0; j < n; ++j)
                {