]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/menu/xonotic/colorpicker_string.qc
Merge branch 'terencehill/megaerebus_glow' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / colorpicker_string.qc
index 5d53135e9cca1967c7e3f0d68b8a4b631b7e1ef3..5a44e58830862c9e668185b3f21bda1bffadd076 100644 (file)
@@ -1,44 +1,23 @@
-#ifdef INTERFACE
-CLASS(XonoticColorpickerString) EXTENDS(Image)
-       METHOD(XonoticColorpickerString, configureXonoticColorpickerString, void(entity, string, string))
-       METHOD(XonoticColorpickerString, mousePress, float(entity, vector))
-       METHOD(XonoticColorpickerString, mouseRelease, float(entity, vector))
-       METHOD(XonoticColorpickerString, mouseDrag, float(entity, vector))
-       ATTRIB(XonoticColorpickerString, cvarName, string, string_null)
-       METHOD(XonoticColorPickerString, loadCvars, void(entity))
-       METHOD(XonoticColorPickerString, saveCvars, void(entity))
-       ATTRIB(XonoticColorpickerString, prevcoords, vector, '0 0 0')
-       ATTRIB(XonoticColorpickerString, image, string, SKINGFX_COLORPICKER)
-       ATTRIB(XonoticColorpickerString, imagemargin, vector, SKINMARGIN_COLORPICKER)
-       ATTRIB(XonoticColorpickerString, focusable, float, 1)
-       METHOD(XonoticColorpickerString, draw, void(entity))
-       ATTRIB(XonoticColorpickerString, disabledAlpha, float, 0.3)
-ENDCLASS(XonoticColorpickerString)
-entity makeXonoticColorpickerString(string theCvar, string theDefaultCvar);
-#endif
-
-#ifdef IMPLEMENTATION
+#include "colorpicker_string.qh"
+
+.bool disabled;
+
 entity makeXonoticColorpickerString(string theCvar, string theDefaultCvar)
 {
        entity me;
-       me = spawnXonoticColorpickerString();
+       me = NEW(XonoticColorpickerString);
        me.configureXonoticColorpickerString(me, theCvar, theDefaultCvar);
        return me;
 }
 
 void XonoticColorpickerString_configureXonoticColorpickerString(entity me, string theCvar, string theDefaultCvar)
 {
-       me.cvarName = theCvar;
        me.configureImage(me, me.image);
-       if(theCvar)
-       {
-               me.cvarName = theCvar;
-               me.tooltip = getZonedTooltipForIdentifier(theCvar);
-               me.loadCvars(me);
-       }
+       me.cvarName = (theCvar) ? theCvar : string_null;
+       me.loadCvars(me);
 }
 
-void XonoticColorPickerString_loadCvars(entity me)
+void XonoticColorpickerString_loadCvars(entity me)
 {
        if (!me.cvarName)
                return;
@@ -55,7 +34,7 @@ void XonoticColorPickerString_loadCvars(entity me)
                me.prevcoords = color_hslimage(stov(cvar_string(me.cvarName)), me.imagemargin);
 }
 
-void XonoticColorPickerString_saveCvars(entity me)
+void XonoticColorpickerString_saveCvars(entity me)
 {
        if (!me.cvarName)
                return;
@@ -63,18 +42,18 @@ void XonoticColorPickerString_saveCvars(entity me)
        if(substring(me.cvarName, -1, 1) == "_")
        {
                vector v = hslimage_color(me.prevcoords, me.imagemargin);
-               cvar_set(strcat(me.cvarName, "red"), ftos(v_x));
-               cvar_set(strcat(me.cvarName, "green"), ftos(v_y));
-               cvar_set(strcat(me.cvarName, "blue"), ftos(v_z));
+               cvar_set(strcat(me.cvarName, "red"), ftos(v.x));
+               cvar_set(strcat(me.cvarName, "green"), ftos(v.y));
+               cvar_set(strcat(me.cvarName, "blue"), ftos(v.z));
        }
        else
                cvar_set(me.cvarName, sprintf("%v", hslimage_color(me.prevcoords, me.imagemargin)));
 }
 
-float XonoticColorpickerString_mousePress(entity me, vector coords)
+METHOD(XonoticColorpickerString, mousePress, bool(XonoticColorpickerString this, vector pos))
 {
-       me.mouseDrag(me, coords);
-       return 1;
+       this.mouseDrag(this, pos);
+       return true;
 }
 
 float XonoticColorpickerString_mouseDrag(entity me, vector coords)
@@ -83,10 +62,10 @@ float XonoticColorpickerString_mouseDrag(entity me, vector coords)
                return 0;
        vector margin;
        margin = me.imagemargin;
-       if(coords_x >= margin_x)
-       if(coords_y >= margin_y)
-       if(coords_x <= 1 - margin_x)
-       if(coords_y <= 1 - margin_y)
+       if(coords.x >= margin.x)
+       if(coords.y >= margin.y)
+       if(coords.x <= 1 - margin.x)
+       if(coords.y <= 1 - margin.y)
        {
                me.prevcoords = coords;
                me.saveCvars(me);
@@ -97,6 +76,7 @@ float XonoticColorpickerString_mouseDrag(entity me, vector coords)
 
 float XonoticColorpickerString_mouseRelease(entity me, vector coords)
 {
+       m_play_click_sound(MENU_SOUND_SLIDE);
        me.mouseDrag(me, coords);
        return 1;
 }
@@ -119,4 +99,3 @@ void XonoticColorpickerString_draw(entity me)
 
        draw_alpha = save;
 }
-#endif