]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Add skin attributes for listbox focused items and allow customization of the fade...
authorterencehill <piuntn@gmail.com>
Mon, 27 Apr 2015 17:45:25 +0000 (19:45 +0200)
committerterencehill <piuntn@gmail.com>
Mon, 27 Apr 2015 17:45:25 +0000 (19:45 +0200)
21 files changed:
gfx/menu/luma/skinvalues.txt
gfx/menu/luminos/skinvalues.txt
gfx/menu/wickedx/skinvalues.txt
gfx/menu/xaw/skinvalues.txt
qcsrc/menu/skin-customizables.inc
qcsrc/menu/xonotic/campaign.qc
qcsrc/menu/xonotic/cvarlist.qc
qcsrc/menu/xonotic/demolist.qc
qcsrc/menu/xonotic/gametypelist.qc
qcsrc/menu/xonotic/keybinder.qc
qcsrc/menu/xonotic/languagelist.qc
qcsrc/menu/xonotic/maplist.qc
qcsrc/menu/xonotic/playlist.qc
qcsrc/menu/xonotic/screenshotlist.qc
qcsrc/menu/xonotic/serverlist.qc
qcsrc/menu/xonotic/skinlist.qc
qcsrc/menu/xonotic/soundlist.qc
qcsrc/menu/xonotic/statslist.qc
qcsrc/menu/xonotic/util.qc
qcsrc/menu/xonotic/util.qh
qcsrc/menu/xonotic/weaponslist.qc

index 1e87e8869ec5d9443c3147dde51298a675738f94..2a9a0077e131f764d6b4a331470d98aca0c71b93 100644 (file)
@@ -142,6 +142,9 @@ ALPHA_LISTBOX_SELECTED        1
 COLOR_LISTBOX_SELECTED        '0.97 0.56 0.27'
 ALPHA_LISTBOX_WAITING         0.8
 COLOR_LISTBOX_WAITING         '0.73 0.82 0.9'
+ALPHA_LISTBOX_FOCUSED         0.8
+FADEALPHA_LISTBOX_FOCUSED     0.2
+COLOR_LISTBOX_FOCUSED         '0.09 0.42 0.69'
 
 // mainmenu
 ALPHAS_MAINMENU               '0.8 0.9 1'
index 77af6c8dc0dfededc9af62be884e9eb482f55a90..2b0f43f69c08e01eb2b35e53dae44309f08b1c8c 100755 (executable)
@@ -108,6 +108,9 @@ COLOR_LISTBOX_SELECTED          '1 0.4375 0'
 ALPHA_LISTBOX_SELECTED          1
 COLOR_LISTBOX_WAITING           '1 1 1'
 ALPHA_LISTBOX_WAITING           0.5
+COLOR_LISTBOX_FOCUSED           '0 0.25 0.5'
+ALPHA_LISTBOX_FOCUSED           0.7
+FADEALPHA_LISTBOX_FOCUSED       0.3
 
 // item: map list
 COLOR_MAPLIST_TITLE             '1 1 1'
index 8b56baa1f3c54a54d561f3a335017a68424fa876..6e51cd982f3d757c9e0d317913740b4c4d39bd78 100644 (file)
@@ -108,6 +108,9 @@ COLOR_LISTBOX_SELECTED          '0.875 0.375 0'
 ALPHA_LISTBOX_SELECTED          1
 COLOR_LISTBOX_WAITING           '1 1 1'
 ALPHA_LISTBOX_WAITING           0.5
+COLOR_LISTBOX_FOCUSED           '0 0.375 0.75'
+ALPHA_LISTBOX_FOCUSED           0.35
+FADEALPHA_LISTBOX_FOCUSED       0.75
 
 // item: map list
 COLOR_MAPLIST_TITLE             '1 1 1'
index 57c6f2a35009163a49426aa802b167804474a6f3..477d1c972d01291d5ecf5c1fb6c07448ff6d1593 100644 (file)
@@ -152,8 +152,11 @@ COLOR_LISTBOX_SELECTED          '0 0 0'
 ALPHA_LISTBOX_SELECTED          1
 COLOR_LISTBOX_WAITING           '1 0 0'
 ALPHA_LISTBOX_WAITING           0.5
-COLOR_LISTBOX_BACKGROUND               '0 0 0'
-ALPHA_LISTBOX_BACKGROUND               0
+COLOR_LISTBOX_BACKGROUND        '0 0 0'
+ALPHA_LISTBOX_BACKGROUND        0
+COLOR_LISTBOX_FOCUSED           '0 0 0'
+ALPHA_LISTBOX_FOCUSED           0.3
+FADEALPHA_LISTBOX_FOCUSED       0.3
 
 // item: map list
 COLOR_MAPLIST_TITLE             '1 1 1'
index ee0e76f399f7efbde625505d3b2fd59db7f84dae..2e0d0b5fa7553ceb43cb95902a39519483df3b05 100644 (file)
@@ -191,6 +191,9 @@ SKINBEGIN
        SKINFLOAT(ALPHA_LISTBOX_WAITING, 0.5);
        SKINVECTOR(COLOR_LISTBOX_BACKGROUND, '0 0 0');
        SKINFLOAT(ALPHA_LISTBOX_BACKGROUND, 0.5);
+       SKINVECTOR(COLOR_LISTBOX_FOCUSED, '0 0 1');
+       SKINFLOAT(ALPHA_LISTBOX_FOCUSED, 0.7);
+       SKINFLOAT(FADEALPHA_LISTBOX_FOCUSED, 0.3);
 
        // item: map list
        SKINVECTOR(COLOR_MAPLIST_TITLE, '1 1 1');
index aa234a174670bacbb19bac02dcfd10e1b8a49d98..2462f7d033eb585818bb0879c04912072cbc0542 100644 (file)
@@ -264,7 +264,7 @@ void XonoticCampaignList_drawListBoxItem(entity me, int i, vector absSize, bool
        if(isSelected)
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
        else if(highlightedTime)
-               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, getHighlightAlpha(SKINALPHA_LISTBOX_SELECTED * 0.1, highlightedTime));
+               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, getHighlightAlpha(SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED, highlightedTime));
 
        if(draw_PictureSize(strcat("/maps/", campaign_mapname[i])) == '0 0 0')
                draw_Picture(me.columnPreviewOrigin * eX, "nopreview_map", me.columnPreviewSize * eX + eY, '1 1 1', theAlpha);
index 26dfb7e997e08a87a67b24c6f4810992b358fed9..a00ff6027508729879783aae6197815e0ee3569a 100644 (file)
@@ -165,7 +165,7 @@ void XonoticCvarList_drawListBoxItem(entity me, int i, vector absSize, bool isSe
        if(isSelected)
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
        else if(highlightedTime)
-               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, getHighlightAlpha(SKINALPHA_LISTBOX_SELECTED * 0.1, highlightedTime));
+               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, getHighlightAlpha(SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED, highlightedTime));
 
        k = bufstr_get(me.handle, i);
 
index 5389456fcf7d82f0bc7e0e9a34649896d33b6174..df1b08a4d262f0699af48bbae6f1d2bc035b9261 100644 (file)
@@ -139,7 +139,7 @@ void XonoticDemoList_drawListBoxItem(entity me, int i, vector absSize, bool isSe
        if(isSelected)
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
        else if(highlightedTime)
-               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, getHighlightAlpha(SKINALPHA_LISTBOX_SELECTED * 0.1, highlightedTime));
+               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, getHighlightAlpha(SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED, highlightedTime));
 
        s = me.demoName(me,i);
        s = draw_TextShortenToWidth(s, me.columnNameSize, 0, me.realFontSize);
index eac075a9c041f16f78b1f139ff505c245e5c5af5..10dc7a76bd197aab8b938e896e30cc4709c84501 100644 (file)
@@ -83,7 +83,7 @@ void XonoticGametypeList_drawListBoxItem(entity me, int i, vector absSize, bool
        if(isSelected)
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
        else if(highlightedTime)
-               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, getHighlightAlpha(SKINALPHA_LISTBOX_SELECTED * 0.1, highlightedTime));
+               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, getHighlightAlpha(SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED, highlightedTime));
 
        draw_Picture(me.columnIconOrigin * eX, GameType_GetIcon(i), me.columnIconSize * eX + eY, '1 1 1', SKINALPHA_LISTBOX_SELECTED);
        s1 = GameType_GetName(i);
index 75f4e1f7c8238fa3ef300452bd24c7852311cb56..09fac4f28ac84a6cbba657f888c5f2b959ba5d3e 100644 (file)
@@ -329,7 +329,7 @@ void XonoticKeyBinder_drawListBoxItem(entity me, int i, vector absSize, bool isS
                                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
                }
                else if(highlightedTime)
-                       draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, getHighlightAlpha(SKINALPHA_LISTBOX_SELECTED * 0.1, highlightedTime));
+                       draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, getHighlightAlpha(SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED, highlightedTime));
 
                theAlpha = SKINALPHA_KEYGRABBER_KEYS;
                theColor = SKINCOLOR_KEYGRABBER_KEYS;
index 9d217fc514e463a5a6566889f287dde15f9c5c53..e6ef90a4cfb5727efc89d273a0e7c794887515dd 100644 (file)
@@ -61,7 +61,7 @@ void XonoticLanguageList_drawListBoxItem(entity me, int i, vector absSize, bool
        if(isSelected)
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
        else if(highlightedTime)
-               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, getHighlightAlpha(SKINALPHA_LISTBOX_SELECTED * 0.1, highlightedTime));
+               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, getHighlightAlpha(SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED, highlightedTime));
 
        s = me.languageParameter(me, i, LANGPARM_NAME_LOCALIZED);
 
index 74556429b50cdbe2bb3118bb1b145964056bff41..4003a36d78f682a894a3a0ef9596d0f72bfc8f95 100644 (file)
@@ -182,7 +182,7 @@ void XonoticMapList_drawListBoxItem(entity me, int i, vector absSize, bool isSel
                if(included)
                        draw_Fill('0 0 0', '1 1 0', SKINCOLOR_MAPLIST_INCLUDEDBG, SKINALPHA_MAPLIST_INCLUDEDBG);
                if(highlightedTime)
-                       draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, getHighlightAlpha(SKINALPHA_LISTBOX_SELECTED * 0.1, highlightedTime));
+                       draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, getHighlightAlpha(SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED, highlightedTime));
        }
 
        if(draw_PictureSize(strcat("/maps/", MapInfo_Map_bspname)) == '0 0 0')
index 9730e84172f9436024fdf55ad1037cba1295244d..744b0be90b00c0503b7d8e8b0f43062671ee3680 100644 (file)
@@ -176,7 +176,7 @@ void XonoticPlayList_drawListBoxItem(entity me, int i, vector absSize, bool isSe
        if(isSelected)
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
        else if(highlightedTime)
-               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, getHighlightAlpha(SKINALPHA_LISTBOX_SELECTED * 0.1, highlightedTime));
+               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, getHighlightAlpha(SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED, highlightedTime));
 
        if(i == me.playingTrack)
        {
index fe4be4ed32414fdb52b906931971fd3821df0e97..9cd26cad169dd17e89a6d53f278050185842dc32 100644 (file)
@@ -171,7 +171,7 @@ void XonoticScreenshotList_drawListBoxItem(entity me, int i, vector absSize, boo
        if(isSelected)
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
        else if(highlightedTime)
-               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, getHighlightAlpha(SKINALPHA_LISTBOX_SELECTED * 0.1, highlightedTime));
+               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, getHighlightAlpha(SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED, highlightedTime));
 
        s = me.screenshotName(me,i);
        s = draw_TextShortenToWidth(s, me.columnNameSize, 0, me.realFontSize);
index 6eb169d880ab9bbd3e5d137511690101f5767a52..56f62e452e93f633b7d4b807e8df7826061144a4 100644 (file)
@@ -1018,7 +1018,7 @@ void XonoticServerList_drawListBoxItem(entity me, int i, vector absSize, bool is
        if(isSelected)
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
        else if(highlightedTime)
-               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, getHighlightAlpha(SKINALPHA_LISTBOX_SELECTED * 0.1, highlightedTime));
+               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, getHighlightAlpha(SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED, highlightedTime));
 
        s = gethostcachestring(SLIST_FIELD_QCSTATUS, i);
        m = tokenizebyseparator(s, ":");
index 174e64f48ad6f8bd86a8bbb8e70623e9ba792367..d689295ae8bad379b050985a64705436db9fad3b 100644 (file)
@@ -156,7 +156,7 @@ void XonoticSkinList_drawListBoxItem(entity me, int i, vector absSize, bool isSe
        if(isSelected)
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
        else if(highlightedTime)
-               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, getHighlightAlpha(SKINALPHA_LISTBOX_SELECTED * 0.1, highlightedTime));
+               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, getHighlightAlpha(SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED, highlightedTime));
 
        s = me.skinParameter(me, i, SKINPARM_PREVIEW);
        draw_Picture(me.columnPreviewOrigin * eX, s, me.columnPreviewSize * eX + eY, '1 1 1', 1);
index 6d2608c5d0893f588fc0b462b603367d74374722..a23db9302ffb21c2566da873c75fb51295293799 100644 (file)
@@ -107,7 +107,7 @@ void XonoticSoundList_drawListBoxItem(entity me, int i, vector absSize, bool isS
        if(isSelected)
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
        else if(highlightedTime)
-               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, getHighlightAlpha(SKINALPHA_LISTBOX_SELECTED * 0.1, highlightedTime));
+               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, getHighlightAlpha(SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED, highlightedTime));
 
        s = me.soundName(me,i);
        if(s == cvar_string("menu_cdtrack")) // current menu track
index 1702d367aeaadbb98105a52959f6e598fbd190a4..ee2cdf08d6548f65c1e4859ee523273864d5271d 100644 (file)
@@ -318,7 +318,7 @@ void XonoticStatsList_drawListBoxItem(entity me, int i, vector absSize, bool isS
        if(isSelected)
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
        else if(highlightedTime)
-               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, getHighlightAlpha(SKINALPHA_LISTBOX_SELECTED * 0.1, highlightedTime));
+               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, getHighlightAlpha(SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED, highlightedTime));
 
        string data = bufstr_get(me.listStats, i);
        string s = car(data);
index 49fe79b011df800f4ef3e553343658abb8bfcce7..58d1d934f521f4e6d1624c7e4424ce7b8beeb09f 100644 (file)
@@ -769,19 +769,18 @@ void dialog_hudpanel_common_notoggle(entity me, string panelname)
 }
 
 #define FADE_TIME 0.5
-#define MAX_ALPHA_INCREASE 0.1
 #define TRESHOLD_TIME 0.1
-float getHighlightAlpha(float baseAlpha, float highlightedTime)
+float getHighlightAlpha(float startAlpha, float targetAlpha, float highlightedTime)
 {
-       float alphaIncrease;
-       if (time - highlightedTime - TRESHOLD_TIME < FADE_TIME)
+       float theAlpha;
+       if((time - highlightedTime - TRESHOLD_TIME) < FADE_TIME)
        {
-               alphaIncrease = max(0, (time - highlightedTime - TRESHOLD_TIME) / FADE_TIME);
-               alphaIncrease = (1 - alphaIncrease) * MAX_ALPHA_INCREASE;
+               float f = max(0, (time - highlightedTime - TRESHOLD_TIME) / FADE_TIME);
+               theAlpha = startAlpha + f * (targetAlpha - startAlpha);
        }
        else
-               alphaIncrease = 0;
-       return baseAlpha + alphaIncrease;
+               theAlpha = targetAlpha;
+       return theAlpha;
 }
 
 void CheckSendCvars(entity me, string cvarnamestring)
index e7cd1028c046ba9660c4df1d94fc52dfe2bda5be..f880c2f474d48c13674c347a1772bba7f6cdc80d 100644 (file)
@@ -48,7 +48,7 @@ void dialog_hudpanel_common_notoggle(entity me, string panelname);
                me.TD(me, 1, 4, e = makeXonoticCheckBox(0, strzone(strcat("hud_panel_", panelname)), _("Enable panel"))); \
        DIALOG_HUDPANEL_COMMON_NOTOGGLE()
 
-float getHighlightAlpha(float baseAlpha, float highlightedTime);
+float getHighlightAlpha(float startAlpha, float targetAlpha, float highlightedTime);
 
 string _Nex_ExtResponseSystem_BannedServers;
 float _Nex_ExtResponseSystem_BannedServersNeedsRefresh;
index 18e5ffb592a98c60be2bf5e16efc0c6011cc331e..038f8d4c7d661f285bb8db67322f84e5a8956032 100644 (file)
@@ -96,7 +96,7 @@ void XonoticWeaponsList_drawListBoxItem(entity me, int i, vector absSize, bool i
        if(isSelected)
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
        else if(highlightedTime)
-               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, getHighlightAlpha(SKINALPHA_LISTBOX_SELECTED * 0.1, highlightedTime));
+               draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, getHighlightAlpha(SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED, highlightedTime));
        e = get_weaponinfo(stof(argv(i)));
        string msg = e.message;
        if(e.spawnflags & WEP_FLAG_MUTATORBLOCKED)