]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/menu/xonotic/colorbutton.c
Merge branch 'master' into terencehill/clear_button
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / colorbutton.c
index 84281b6af3229de04ecf39d696aa3961255fffb6..4e81a4acc24d2aa7d5ecce525e54d15090e307ce 100644 (file)
@@ -26,8 +26,29 @@ entity makeXonoticColorButton(float theGroup, float theColor, float theValue)
        me.configureXonoticColorButton(me, theGroup, theColor, theValue);
        return me;
 }
-void configureXonoticColorButtonXonoticColorButton(entity me, float theGroup, float theColor, float theValue)
+void XonoticColorButton_configureXonoticColorButton(entity me, float theGroup, float theColor, float theValue)
 {
+       switch(theValue)
+       {
+               // rearrange 1..14 for rainbow order
+               case  1: theValue = 10; break;
+               case  2: theValue =  4; break;
+               case  3: theValue =  1; break;
+               case  4: theValue = 14; break;
+               case  5: theValue = 12; break;
+               case  6: theValue =  7; break;
+               case  7: theValue =  3; break;
+               case  8: theValue =  2; break;
+               case  9: theValue =  6; break;
+               case 10: theValue =  5; break;
+               case 11: theValue = 13; break;
+               case 12: theValue = 11; break;
+               case 13: theValue =  8; break;
+               case 14: theValue =  9; break;
+               default:
+                       // no change
+                       break;
+       }
        me.cvarName = "_cl_color";
        me.cvarValueFloat = theValue;
        me.cvarPart = theColor;
@@ -36,7 +57,7 @@ void configureXonoticColorButtonXonoticColorButton(entity me, float theGroup, fl
        me.srcMulti = 1;
        me.src2 = me.image2;
 }
-void setCheckedXonoticColorButton(entity me, float val)
+void XonoticColorButton_setChecked(entity me, float val)
 {
        if(val != me.checked)
        {
@@ -44,7 +65,7 @@ void setCheckedXonoticColorButton(entity me, float val)
                me.saveCvars(me);
        }
 }
-void loadCvarsXonoticColorButton(entity me)
+void XonoticColorButton_loadCvars(entity me)
 {
        if not(me.cvarName)
                return;
@@ -54,7 +75,7 @@ void loadCvarsXonoticColorButton(entity me)
        else
                me.checked = (cvar(me.cvarName) & 15) == me.cvarValueFloat;
 }
-void saveCvarsXonoticColorButton(entity me)
+void XonoticColorButton_saveCvars(entity me)
 {
        if not(me.cvarName)
                return;
@@ -68,9 +89,9 @@ void saveCvarsXonoticColorButton(entity me)
        }
        // TODO on an apply button, read _cl_color and execute the color command for it
 }
-void drawXonoticColorButton(entity me)
+void XonoticColorButton_draw(entity me)
 {
        me.color2 = colormapPaletteColor(me.cvarValueFloat, me.cvarPart);
-       drawCheckBox(me);
+       SUPER(XonoticColorButton).draw(me);
 }
 #endif