use a default value on the colorpicker_string
authorFruitieX <fruitiex@gmail.com>
Fri, 12 Nov 2010 06:28:51 +0000 (08:28 +0200)
committerFruitieX <fruitiex@gmail.com>
Fri, 12 Nov 2010 06:28:51 +0000 (08:28 +0200)
17 files changed:
qcsrc/menu/xonotic/colorpicker_string.c
qcsrc/menu/xonotic/dialog_hudpanel_ammo.c
qcsrc/menu/xonotic/dialog_hudpanel_chat.c
qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c
qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c
qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c
qcsrc/menu/xonotic/dialog_hudpanel_modicons.c
qcsrc/menu/xonotic/dialog_hudpanel_notification.c
qcsrc/menu/xonotic/dialog_hudpanel_powerups.c
qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c
qcsrc/menu/xonotic/dialog_hudpanel_racetimer.c
qcsrc/menu/xonotic/dialog_hudpanel_radar.c
qcsrc/menu/xonotic/dialog_hudpanel_score.c
qcsrc/menu/xonotic/dialog_hudpanel_timer.c
qcsrc/menu/xonotic/dialog_hudpanel_vote.c
qcsrc/menu/xonotic/dialog_hudpanel_weapons.c
qcsrc/menu/xonotic/dialog_hudsetup_exit.c

index fd411d54572a896d385cf27eb3cb348626b9e709..f57c768a5fcb3d80ce4da5bc16d65845fcb5164a 100644 (file)
@@ -1,6 +1,6 @@
 #ifdef INTERFACE
 CLASS(XonoticColorpickerString) EXTENDS(Image)
-       METHOD(XonoticColorpickerString, configureXonoticColorpickerString, void(entity, string))
+       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))
@@ -12,23 +12,26 @@ CLASS(XonoticColorpickerString) EXTENDS(Image)
        METHOD(XonoticColorpickerString, draw, void(entity))
        ATTRIB(XonoticColorpickerString, disabledAlpha, float, 0.3)
 ENDCLASS(XonoticColorpickerString)
-entity makeXonoticColorpickerString(string theCvar);
+entity makeXonoticColorpickerString(string theCvar, string theDefaultCvar);
 #endif
 
 #ifdef IMPLEMENTATION
-entity makeXonoticColorpickerString(string theCvar)
+entity makeXonoticColorpickerString(string theCvar, string theDefaultCvar)
 {
        entity me;
        me = spawnXonoticColorpickerString();
-       me.configureXonoticColorpickerString(me, theCvar);
+       me.configureXonoticColorpickerString(me, theCvar, theDefaultCvar);
        return me;
 }
 
-void XonoticColorpickerString_configureXonoticColorpickerString(entity me, string theCvar)
+void XonoticColorpickerString_configureXonoticColorpickerString(entity me, string theCvar, string theDefaultCvar)
 {
        me.cvarName = theCvar;
        me.configureImage(me, me.image);
-       me.prevcoords = color_hslimage(stov(cvar_string(theCvar)), me.imagemargin);
+       if(cvar_string(theCvar) != "")
+               me.prevcoords = color_hslimage(stov(cvar_string(theCvar)), me.imagemargin);
+       else // use default
+               me.prevcoords = color_hslimage(stov(cvar_string(theDefaultCvar)), me.imagemargin);
 }
 
 float XonoticColorpickerString_mousePress(entity me, vector coords)
@@ -48,7 +51,6 @@ float XonoticColorpickerString_mouseDrag(entity me, vector coords)
        if(coords_x <= 1 - margin_x)
        if(coords_y <= 1 - margin_y)
        {
-               cvar_set(me.cvarName, sprintf("%v", hslimage_color(coords, margin)));
                me.prevcoords = coords;
        }
 
@@ -75,7 +77,10 @@ void XonoticColorpickerString_draw(entity me)
        sz = globalToBoxSize(sz, draw_scale);
 
        if(!me.disabled)
+       {
+               cvar_set(me.cvarName, sprintf("%v", hslimage_color(me.prevcoords, me.imagemargin)));
                draw_Picture(me.imgOrigin + me.prevcoords - 0.5 * sz, strcat(me.src, "_selected"), sz, '1 1 1', 1);
+       }
        draw_alpha = save;
 }
 #endif
index 1e0d4bf92d6a9d9b64d9d3816d5bc4c4a71b6da3..256dbe7df028ec0a93852b1dc0ae06123680a2df 100644 (file)
@@ -29,7 +29,7 @@ void XonoticHUDAmmoDialog_fill(entity me)
        me.TR(me);
                me.TDempty(me, 0.2);
                me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Color:"));
-               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color"))));
+               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color")), "hud_panel_bg_color"));
                        setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_bg_color")), "");
        me.TR(me);
                me.TDempty(me, 0.2);
index 74fabe0518ac16fd7720e7f358001733555952b2..c9a4eae6e80734de20449611918a871a5734aad6 100644 (file)
@@ -29,7 +29,7 @@ void XonoticHUDChatDialog_fill(entity me)
        me.TR(me);
                me.TDempty(me, 0.2);
                me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Color:"));
-               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color"))));
+               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color")), "hud_panel_bg_color"));
                        setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_bg_color")), "");
        me.TR(me);
                me.TDempty(me, 0.2);
index 8d359e9cf686e765750b03e5af9a437aaecc4443..03ef106c7decd260147dbae0a48d8c0f9ffc296a 100644 (file)
@@ -29,7 +29,7 @@ void XonoticHUDEngineInfoDialog_fill(entity me)
        me.TR(me);
                me.TDempty(me, 0.2);
                me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Color:"));
-               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color"))));
+               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color")), "hud_panel_bg_color"));
                        setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_bg_color")), "");
        me.TR(me);
                me.TDempty(me, 0.2);
index b276045b63183c6ba9412599affe4cbc970cf6ef..3e8a43aeb38520a386ca1ef25960587e6aae83b4 100644 (file)
@@ -29,7 +29,7 @@ void XonoticHUDHealthArmorDialog_fill(entity me)
        me.TR(me);
                me.TDempty(me, 0.2);
                me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Color:"));
-               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color"))));
+               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color")), "hud_panel_bg_color"));
                        setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_bg_color")), "");
        me.TR(me);
                me.TDempty(me, 0.2);
index 56d4bf463649496243cf14c28cbfbb06150efffc..d8534a20e9974d34030cb4dce2da064fcb987d6e 100644 (file)
@@ -29,7 +29,7 @@ void XonoticHUDInfoMessagesDialog_fill(entity me)
        me.TR(me);
                me.TDempty(me, 0.2);
                me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Color:"));
-               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color"))));
+               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color")), "hud_panel_bg_color"));
                        setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_bg_color")), "");
        me.TR(me);
                me.TDempty(me, 0.2);
index ebd5f240bedf0603edcaa2689c23200cf935cf03..d60a72473f4999bf5bc96e2d105a5c2a00834130 100644 (file)
@@ -29,7 +29,7 @@ void XonoticHUDModIconsDialog_fill(entity me)
        me.TR(me);
                me.TDempty(me, 0.2);
                me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Color:"));
-               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color"))));
+               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color")), "hud_panel_bg_color"));
                        setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_bg_color")), "");
        me.TR(me);
                me.TDempty(me, 0.2);
index c811cb62832530fd9d5ee71dab5bb0d06767b5bb..3eeaff284db99458439ea17e9cc052016e835919 100644 (file)
@@ -29,7 +29,7 @@ void XonoticHUDNotificationDialog_fill(entity me)
        me.TR(me);
                me.TDempty(me, 0.2);
                me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Color:"));
-               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color"))));
+               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color")), "hud_panel_bg_color"));
                        setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_bg_color")), "");
        me.TR(me);
                me.TDempty(me, 0.2);
index 14f4a19268707a3100a0154bd34bb6b1ee3ae01e..5d4e14c08b62fc64876d7f22ae303c836a36d659 100644 (file)
@@ -29,7 +29,7 @@ void XonoticHUDPowerupsDialog_fill(entity me)
        me.TR(me);
                me.TDempty(me, 0.2);
                me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Color:"));
-               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color"))));
+               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color")), "hud_panel_bg_color"));
                        setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_bg_color")), "");
        me.TR(me);
                me.TDempty(me, 0.2);
index 7d32914ddae7b437774f767c0882c7dc59e66179..30f6bfc1f2da723a813477fa3b70e4c106ab9432 100644 (file)
@@ -33,7 +33,7 @@ void XonoticHUDPressedKeysDialog_fill(entity me)
        me.TR(me);
                me.TDempty(me, 0.2);
                me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Color:"));
-               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color"))));
+               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color")), "hud_panel_bg_color"));
                        setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_bg_color")), "");
        me.TR(me);
                me.TDempty(me, 0.2);
index febbd544975720e6d295b365176c09e1d2c2fb68..35fdc55f3c8b5d9a8ae355dde2faa245fe11975d 100644 (file)
@@ -29,7 +29,7 @@ void XonoticHUDRaceTimerDialog_fill(entity me)
        me.TR(me);
                me.TDempty(me, 0.2);
                me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Color:"));
-               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color"))));
+               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color")), "hud_panel_bg_color"));
                        setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_bg_color")), "");
        me.TR(me);
                me.TDempty(me, 0.2);
index 90de04795a9ee59a4f46ae36cc805cfcdaa64843..d1202846e26c140f0140c5f3ac67b7898b1e0c8a 100644 (file)
@@ -33,7 +33,7 @@ void XonoticHUDRadarDialog_fill(entity me)
        me.TR(me);
                me.TDempty(me, 0.2);
                me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Color:"));
-               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color"))));
+               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color")), "hud_panel_bg_color"));
                        setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_bg_color")), "");
        me.TR(me);
                me.TDempty(me, 0.2);
index 8c8561ea79b07aafd9867dbd0017e7ce4b3e226e..fc51921e23777a3b2980123ca42ba99e2f446cd1 100644 (file)
@@ -29,7 +29,7 @@ void XonoticHUDScoreDialog_fill(entity me)
        me.TR(me);
                me.TDempty(me, 0.2);
                me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Color:"));
-               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color"))));
+               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color")), "hud_panel_bg_color"));
                        setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_bg_color")), "");
        me.TR(me);
                me.TDempty(me, 0.2);
index 748d2911ec71de5f631d062c4f6dc10f85ad1dca..96dc4aa6959f8fa8c18c4423cfc0c49afb913483 100644 (file)
@@ -29,7 +29,7 @@ void XonoticHUDTimerDialog_fill(entity me)
        me.TR(me);
                me.TDempty(me, 0.2);
                me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Color:"));
-               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color"))));
+               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color")), "hud_panel_bg_color"));
                        setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_bg_color")), "");
        me.TR(me);
                me.TDempty(me, 0.2);
index 6c935d9e7f105d3131b3e8e344d9c0b9e51ec970..b5f5b6e27b965713d2cb0099a3457fd28fccd5a8 100644 (file)
@@ -29,7 +29,7 @@ void XonoticHUDVoteDialog_fill(entity me)
        me.TR(me);
                me.TDempty(me, 0.2);
                me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Color:"));
-               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color"))));
+               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color")), "hud_panel_bg_color"));
                        setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_bg_color")), "");
        me.TR(me);
                me.TDempty(me, 0.2);
index 538723bce1c945462614af9926f080266df22007..ad3d080415e6547af2452536ff50b8f8c4149321 100644 (file)
@@ -29,11 +29,11 @@ void XonoticHUDWeaponsDialog_fill(entity me)
        me.TR(me);
                me.TDempty(me, 0.2);
                me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Color:"));
-               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color"))));
+               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString(strzone(strcat("hud_panel_", panelname, "_bg_color")), "hud_panel_bg_color"));
                        setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_bg_color")), "");
        me.TR(me);
                me.TDempty(me, 0.2);
-               me.TD(me, 1, 1.2, e = makeXonoticCheckBoxString("", "1 1 1", strzone(strcat("hud_panel_", panelname, "_bg_color")), "Use default"));
+               me.TD(me, 1, 1.2, e = makeXonoticCheckBoxString("", cvar_string("hud_panel_bg_color"), strzone(strcat("hud_panel_", panelname, "_bg_color")), "Use default"));
        me.TR(me);
                me.TDempty(me, 0.2);
                me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Border size:"));
@@ -103,7 +103,7 @@ void XonoticHUDWeaponsDialog_fill(entity me)
        me.TR(me);
                me.TDempty(me, 0.2);
                me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Ammo bar color:"));
-               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString("hud_panel_weapons_ammo_color"));
+               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString("hud_panel_weapons_ammo_color", "hud_panel_weapons_ammo_color"));
                        setDependent(e, "hud_panel_weapons_ammo", 1, 1);
                me.TR(me);
        me.TR(me);
index 3f8bcebd778877e07fedf9e9653930225876b69e..751b3cf95c73004f35b08ea92bb3ecc97e1150ec 100644 (file)
@@ -28,7 +28,7 @@ void XonoticHUDExitDialog_fill(entity me)
        me.TR(me);
                me.TDempty(me, 0.2);
                me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Color:"));
-               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString("hud_panel_bg_color"));
+               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString("hud_panel_bg_color", "hud_panel_bg_color"));
        me.TR(me);
        me.TR(me);
                me.TDempty(me, 0.2);
@@ -75,7 +75,7 @@ void XonoticHUDExitDialog_fill(entity me)
        me.TR(me);
                me.TDempty(me, 0.2);
                me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, "Color:"));
-               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString("hud_dock_color"));
+               me.TD(me, 2, 2.4, e = makeXonoticColorpickerString("hud_dock_color", "hud_dock_color"));
        me.TR(me);
        me.TR(me);      
                me.TDempty(me, 0.2);